package com.uzai.console.service.reportpanel;

import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
import com.uzai.console.dto.reportpanel.DataPanelOptDto;
import com.uzai.console.dto.reportpanel.DataPanelQueryDto;
import com.uzai.console.entity.ReportPanel;
import com.uzai.console.vo.reportpanel.DataPanelVo;

import java.util.HashMap;

/**
 * 数据面板 业务类
 */
public interface DataPanelService {

    /**
     * 分页查询数据面板
     *
     * @param dataPanelQueryDto the data panel query dto
     * @return the page
     */
    Page<? extends DataPanelVo> pageDataPanel(DataPanelQueryDto dataPanelQueryDto);

    /**
     * 根据id查询数据面板
     *
     * @param id    the id
     * @param merId the mer id
     * @return the data panel friend request vo
     */
    DataPanelVo getDataPanelById(Long id, Long merId);

    /**
     * 数据面板添加
     *
     * @param dataPanelOptDto the data panel opt dto
     */
    void addDataPanel(DataPanelOptDto dataPanelOptDto);

    /**
     * 数据面板删除
     *
     * @param dataPanelOptDto the data panel opt dto
     */
    void deleteDataPanel(DataPanelOptDto dataPanelOptDto);

    ReportPanel checkDataPanel(Long id, Long merId);
    Boolean checkDataPanel(ReportPanel reportPanel);

    /**
     * 数据面板显示字段列表
     *
     * @return the hash map
     */
    HashMap<String, String> showFieldList();
}
